/**
 * @name yang key-value 库主代码
 * @date 2017年3月19日 星期日
 */
package yangkv

// key-value 关系数据库引擎
type Kv interface {
	// 设置 - 新增/更新
	Set(keys ...string) []string
	// 删除 - 删成功时 1, 否则为 -1
	Del(keys ...string) []int
	// 获取值 - 查
	Get(keys ...string) []string
}

// 设置器
type KvSetter struct {
	IsNew    bool // 为新增数据
	IsUpdate bool // 为更新数据
}

// 通过文件 Ini 构造器
func IniOpen(filename string) *Ini {
	ini := &Ini{
		Path:       filename,
		Delimit:    Ini_delimiter,
		IsFromFile: true,
		IsFromStr:  false,
	}
	ini.Parse()
	return ini
}

// 通过- ini 字符串编译获取对象
func IniParse(iniString string) *Ini {
	ini := &Ini{
		IniString:  iniString,
		Delimit:    Ini_delimiter,
		IsFromFile: false,
		IsFromStr:  true,
	}
	ini.Parse()
	return ini
}

// 生成空 Ini 文件对象
func IniCreate() *Ini {
	ini := &Ini{}
	ini.data = IniDataType{}
	return ini
}
